56.1.2 安装为Systemd服务

Systemd是System V init系统的继任者,很多现代Linux分发版本都在使用,尽管你可以继续使用init.d脚本,但使用systemd ‘service’脚本启动Spring Boot应用是有可能的。

假设你在/var/myapp目录下安装一个Spring Boot应用,为了将它安装为一个systemd服务,你需要按照以下示例创建一个脚本,比如命名为myapp.service,然后将它放到/etc/systemd/system目录下:

[Unit]
Description=myapp
After=syslog.target

[Service]
User=myapp
ExecStart=/var/myapp/myapp.jar
SuccessExitStatus=143

[Install]
WantedBy=multi-user.target

记得根据你的应用改变DescriptionUserExecStart字段。

注意跟作为init.d服务运行不同,使用systemd这种方式运行应用,PID文件和控制台日志文件表现是不同的,必须在‘service’脚本配置正确的字段,具体参考service unit configuration man page

使用以下命令标识应用自动在系统boot上启动:

$ systemctl enable myapp.service

具体详情可参考man systemctl